Dynomotion

Group: DynoMotion Message: 3106 From: himykabibble Date: 1/13/2012
Subject: An Interesting Bug....
Tom,

I have an absolutely 100% repeatable bug here:

The following sequence works perfectly:

M3 S1000
G4 P5
M5
M00

Execution stops at the M00, with the spindle OFF.

However, the following (theoretically functionally identical) sequence does not:

M3 S1000
G4 P5
M5
(MSG, "Do something")

Execution stops at the MSG line with the spindle still running!

Regards,
Ray L.
Group: DynoMotion Message: 3108 From: himykabibble Date: 1/13/2012
Subject: Re: An Interesting Bug....
Tom,

BTW - Seems to be a fencepost error - I can put ANY line between the M5 and the MSG line, and it then works correctly.

I also noticed something that is, arguably, pathological, but still seems wrong:

M00 (Msg, "Do something")

will execute the MSG BEFORE the M00. Actually, I'm not sure if it executes the M00 at all - didn't check.

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@...> wrote:
>
> Tom,
>
> I have an absolutely 100% repeatable bug here:
>
> The following sequence works perfectly:
>
> M3 S1000
> G4 P5
> M5
> M00
>
> Execution stops at the M00, with the spindle OFF.
>
> However, the following (theoretically functionally identical) sequence does not:
>
> M3 S1000
> G4 P5
> M5
> (MSG, "Do something")
>
> Execution stops at the MSG line with the spindle still running!
>
> Regards,
> Ray L.
>
Group: DynoMotion Message: 3119 From: Tom Kerekes Date: 1/14/2012
Subject: Re: An Interesting Bug....
Hi Ray,
 
I investigated this.  The reason is because the MSG command was not flushing the coordinated motion buffer.  Simple IO commands like SetBit and ClearBit for M3 M5 are inserted into the coordinated motion.  This allows them to happen synchronously with the motion for applications like laser scribing and such.  So in your example the M5 is just buffered up to execute later when any motion begins.  The next version will execute any pending motion or commands berfore displaying the MessageBox Window.
 
Thanks
TK

Group: DynoMotion Message: 3120 From: himykabibble Date: 1/14/2012
Subject: Re: An Interesting Bug....
Tom,

Thanks!

Regards,
Ray L.

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Ray,
>  
> I investigated this.  The reason is because the MSG command was not flushing the coordinated motion buffer.  Simple IO commands like SetBit and ClearBit for M3 M5 are inserted into the coordinated motion.  This allows them to happen synchronously with the motion for applications like laser scribing and such.  So in your example the M5 is just buffered up to execute later when any motion begins.  The next version will execute any pending motion or commands berfore displaying the MessageBox Window.
>  
> Thanks
> TK
>
> From: himykabibble <jagboy@...>
> To: DynoMotion@yahoogroups.com
> Sent: Friday, January 13, 2012 1:58 PM
> Subject: [DynoMotion] Re: An Interesting Bug....
>
>
>  
> Tom,
>
> BTW - Seems to be a fencepost error - I can put ANY line between the M5 and the MSG line, and it then works correctly.
>
> I also noticed something that is, arguably, pathological, but still seems wrong:
>
> M00 (Msg, "Do something")
>
> will execute the MSG BEFORE the M00. Actually, I'm not sure if it executes the M00 at all - didn't check.
>
> Regards,
> Ray L.
>
> --- In DynoMotion@yahoogroups.com, "himykabibble" <jagboy@> wrote:
> >
> > Tom,
> >
> > I have an absolutely 100% repeatable bug here:
> >
> > The following sequence works perfectly:
> >
> > M3 S1000
> > G4 P5
> > M5
> > M00
> >
> > Execution stops at the M00, with the spindle OFF.
> >
> > However, the following (theoretically functionally identical) sequence does not:
> >
> > M3 S1000
> > G4 P5
> > M5
> > (MSG, "Do something")
> >
> > Execution stops at the MSG line with the spindle still running!
> >
> > Regards,
> > Ray L.
> >
>